"""
需求：使用类属性、类方法的知识实现以下功能：
1. 创建一个学生类Student
2. 实例属性有姓名name，分数score
3. 每创建一个对象自动实现学生个数累加
    类属性为：num
4. 实现__str__方法，打印对象时，输出：学生姓名:xxx, 考试分数:yyy
5. 设计一个类方法show_num，输出：班级总人数为： xxx
6. 创建对象，调用方法，验证结果
7. 示例运行结果：
    班级总人数为： 0
    学生姓名:mike, 考试分数:59
    学生姓名:yoyo, 考试分数:88
    学生姓名:rock, 考试分数:98
    班级总人数为： 3
"""

# class Student:
#     num=0
#     def __init__(self,name,score):
#
#         self.name=name
#         self.score=score
#         Student.num+=1
#     def __str__(self):
#         return f'学生姓名为{self.name},考试分数为{self.score}'
#     @classmethod
#     def show_num(cls):
#         print(f'班级总人数为{Student.num}')
#
# if __name__ == '__main__':
#     Student.show_num()
#     mike=Student(name='mike',score='59')
#     print(mike)
#     yoyo=Student(name='yoyo',score='88')
#     print(yoyo)
#     rock=Student(name='rock',score='98')
#     print(rock)
#     Student.show_num()

"""
1. 字符串.index(被查找字符串)方法说明，如果找到返回对应的位置，找不到产生异常
    str_data = 'hello mike'
    pos = str_data.index('a') # ValueError: substring not found
    print(pos)
2. 案例需求
a) 字符串内容：str_data = 'i am mike, i like python'
b) 被查找字符串通过输入获取
c) 字符串.index(被查找字符串)方法寻找 被查找字符串 的位置
d) 如果有异常，打印：被查找字符串不在字符串中
e) 如果没有异常，打印 被查找字符串 的位置
f) 最终提示: 程序运行结束
"""
str_data = 'i am mike,i like python'
a = input('请输入查找的字符串:')
try:
    i = str_data.index(a)
except:
    print('被查找的字符串不在字符串中')
else:
    print(i)
finally:
    print('程序运行结束')
"""
1. 在animal.py文件中，设计一个Animal类(动物类)
2. 实例属性有姓名name，通过形参赋值
3. 重新创建cat.py文件，引入animal模块，然后定义一个Cat类，继承Animal
4. 实现__str__方法，打印对象时，输出："我是一只猫，名字叫：xxx"
5. 定义实例方法play，打印："xxx在玩耍"，xxx表示名字
6. 增加静态方法run，打印："动物们跑起来了"
7. 创建Cat类对象，调用方法，验证结果
"""
